package net.borlis.sample.services.facade.ws.response;

import net.borlis.dictionaries.product.HierarchyLevelDictionary;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.List;

/**
 * @author alex@borlis.net on 08.10.2014.
 */
@XmlRootElement
public class PortfolioSettingResponse {

    private TravelPeriodResponse travelPeriod;
    private Boolean packaging;
    private Integer releaseDays;
    private List<TravelDurationResponse> travelDurations;
    private HierarchyLevelDictionary hierarchyLevel;

    private Double firstFixedMargin;
    private Double secondFixedMargin;
    private Double relativeMargin;

    public PortfolioSettingResponse() {
    }

    public PortfolioSettingResponse(TravelPeriodResponse travelPeriod, Boolean packaging, Integer releaseDays,
                                    List<TravelDurationResponse> travelDurations,
                                    HierarchyLevelDictionary hierarchyLevel, Double firstFixedMargin,
                                    Double secondFixedMargin, Double relativeMargin) {
        this.travelPeriod = travelPeriod;
        this.packaging = packaging;
        this.releaseDays = releaseDays;
        this.travelDurations = travelDurations;
        this.hierarchyLevel = hierarchyLevel;
        this.firstFixedMargin = firstFixedMargin;
        this.secondFixedMargin = secondFixedMargin;
        this.relativeMargin = relativeMargin;
    }

    @XmlElement
    public Double getFirstFixedMargin() {
        return firstFixedMargin;
    }

    public void setFirstFixedMargin(Double firstFixedMargin) {
        this.firstFixedMargin = firstFixedMargin;
    }

    @XmlElement
    public Double getSecondFixedMargin() {
        return secondFixedMargin;
    }

    public void setSecondFixedMargin(Double secondFixedMargin) {
        this.secondFixedMargin = secondFixedMargin;
    }

    @XmlElement
    public Double getRelativeMargin() {
        return relativeMargin;
    }

    public void setRelativeMargin(Double relativeMargin) {
        this.relativeMargin = relativeMargin;
    }

    @XmlElement
    public TravelPeriodResponse getTravelPeriod() {
        return travelPeriod;
    }

    public void setTravelPeriod(TravelPeriodResponse travelPeriod) {
        this.travelPeriod = travelPeriod;
    }

    @XmlElement
    public Boolean getPackaging() {
        return packaging;
    }

    public void setPackaging(Boolean packaging) {
        this.packaging = packaging;
    }

    @XmlElement
    public Integer getReleaseDays() {
        return releaseDays;
    }

    public void setReleaseDays(Integer releaseDays) {
        this.releaseDays = releaseDays;
    }

    @XmlElement
    public List<TravelDurationResponse> getTravelDurations() {
        return travelDurations;
    }

    public void setTravelDurations(List<TravelDurationResponse> travelDurations) {
        this.travelDurations = travelDurations;
    }

    @XmlElement
    public HierarchyLevelDictionary getHierarchyLevel() {
        return hierarchyLevel;
    }

    public void setHierarchyLevel(HierarchyLevelDictionary hierarchyLevel) {
        this.hierarchyLevel = hierarchyLevel;
    }
}
